Reasoning on Assembly Code using Linear Logic

نویسنده

  • Jérôme Vouillon
چکیده

We present a logic for reasoning on assembly code. The logic is an extension of intuitionistic linear logic with greatest fixed points, pointer assertions for reasoning about the heap, and modalities for reasoning about program execution. One of the modality corresponds to the step relation of the semantics of an assembly code interpreter. Safety is defined as the greatest fixed point of this modal operator. We can deal with first class code pointers, in a modular way, by defining an indexed model of the logic.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Mechanized Reasoning for Binding Constructs in Typed Assembly Language Using Coq

Mechanized reasoning about programming languages and type systems is becoming increasingly important for the development of certified code frameworks. For instance, in order to realize the safety and security potential of proof-carrying code (PCC) [3] the development of formal, machine-checkable proofs is a necessity. Much of the difficulty and research surrounding PCC involves the generation o...

متن کامل

A Compositional Logic for Control Flow and its Application in Foundational Proof-Carrying Code

Proof-Carrying Code (PCC) is a static mechanism that mechanically verifies safety of machine-language programs. But the problem in conventional PCC is, who will verify the verifier (the type checker) itself? The Foundational Proof-Carrying Code (FPCC) project at Princeton verifies the soundness of the type checker from the smallest possible set of axioms — logic plus machine semantics. One chal...

متن کامل

Certifying and reasoning about cost annotations of functional programs

We present a so-called labelling method to insert cost annotations in a higher-orderfunctional program, to certify their correctness with respect to a standard, typable com-pilation chain to assembly code including safe memory management, and to reason aboutthem in a higher-order Hoare logic.

متن کامل

Formal reasoning about concurrent programs using a lazy- STM system

Transactional memory (TM) is an easy-using parallel programming model that avoids common problems associated with conventional locking techniques. Several researchers have proposed alternative hardware and software TM implementations. However, few ones focus on formal reasoning about programs using TM system. In this paper, we propose a framework at assembly level for reasoning about concurrent...

متن کامل

Certifying and Reasoning on Cost Annotations of Functional Programs

We present a so-called labelling method to insert cost annotations in a higher-order functional program, to certify their correctness with respect to a standard compilation chain to assembly code, and to reason on them in a higher-order Hoare logic.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013